home *** CD-ROM | disk | FTP | other *** search
- **********************************************************************
- * *
- * *
- * D A R K L O R D *
- * *
- * *
- * A programmable, extensible screen saver *
- * for the Atari series of computers *
- * *
- * *
- **********************************************************************
-
-
- Manual for version 3.10
-
- 26th February 1994
-
- 1. Introduction
-
- One of the most popular programs available on PC-compatible machines
- is a screen saver entitled `After Dark'(tm). One of the reasons for
- its popularity is that its capability can be extended by means of
- `add-on' modules. These are separate pieces of code which can be
- loaded and executed by the main program, so greatly extending the
- range of graphic effects which can be achieved. DarkLord is intended
- to provide a similar program for the Atari series of machines.
-
- Other screen savers are of course available for the Atari computers.
- The best are probably `Extend-O-Save' which forms part of the
- commercial package `Warp 9' and `Before Dawn', which is shareware. The
- disadvantage of Extend-O-Save is that its modular code is called from
- an interrupt, meaning that modules cannot use the GEM VDI system for
- graphics, and must manipulate the screen memory directly. This
- restricts the range of graphic effects which are readily available and
- makes the writing of modules potentially a complex task.
-
- Before Dawn is an excellent screen saver, but essentially its actions
- consist of moving images about the screen. Although the range of
- images is so wide that markedly different effects can be shown, there
- is no facility to use other types of module.
-
- DarkLord on the other hand can use the VDI for screen output, and its
- modules can be written in C, as well as in assembly. This should make
- the production of external modules much easier and provide a much
- wider range of different effects. Almost all the features of the VDI
- are available. A separate file, MODULES.TXT, is provided with this
- package which shows how to write modules for DarkLord; some example
- source code is also provided.
-
- Important - copyright notice
-
- This version of DarkLord is freeware, but future versions will be
- shareware. It may be distributed freely on bulletin boards, magazine
- cover disks, and PD libraries PROVIDED THAT:
-
- - all files listed below are included;
- - the copyright of the author is acknowledged;
- - no charge is made other than reasonable disk/administration
- charges by PD libraries.
-
- The copyright of DarkLord itself and all associated files is retained
- by the author, Dr. Steve Pedler. This software is not public domain.
-
-
- **********************************************************************
- **********************************************************************
-
- Fast-track operation for impatient people
-
- If you just want to load up and run, without wading through the
- manual, here's what you do:
-
- * copy DARKLOR3.ACC into the root directory of your boot disk
- together with the resource file DARKLOR3.RSC, then reboot to load;
-
- * or, rename DARKLOR3.ACC to DARKLOR3.PRG and run as a normal
- program;
-
- * open the DarkLord window, either from the desk accessory menu or
- by clicking on `Open window' from the File menu (if running as a
- program);
-
- * load the file BOUNCE.DKL which is provided as part of this
- archive (click on the floppy disk icon to load the file)
-
- * click on `Activate' to see what it does (don't move the mouse
- after clicking or you won't see anything);
-
- * press a key or move the mouse to regain control;
-
- * try loading the other DKL files supplied;
-
- * if you're still interested, read the rest of this manual.
-
- **********************************************************************
- **********************************************************************
-
-
- 2. Installing DarkLord
-
- 2.1 System requirements.
-
- DarkLord will run on any ST model in any resolution. It has been
- tested on a TOS 1.0 520ST, a Mega STE with TOS 2.06, and an Atari
- Falcon with enhanced resolutions courtesy of Blow Up, all with no
- problems in colour or monochrome. It should work on the TT as only
- legitimate GEM and TOS calls have been used, but I have not been able
- to test this. It will also work on large screen monitors, and is
- MultiTOS compatible provided that memory protection is turned off. It
- is also compatible with Geneva.
-
- There is a limit to the size of the screen: it will not function on a
- screen with a width of more than 1280 pixels if there are more than 8
- bit planes (i.e. more than 256 colours). It will run in Falcon True
- Colour mode but not if the screen width exceeds 640 pixels. It will of
- course work on smaller screens with more colours or larger screens
- with fewer colours. DarkLord is rather memory hungry: in addition to
- the 40K (approx) used for the program code, it reserves a further
- block of memory (32K) for loaded modules and about 6K for other memory
- buffers.
-
- 2.2 Installation
-
- The DarkLord package contains the following files:
-
- DARKLOR3.ACC - the program itself
- DARKLOR3.RSC - its resource file
- DARKLORD.TXT - the file you're reading
-
- DCKIT\DCKIT.PRG - the DarkLord Construction Kit
- DCKIT\DCKIT.RSC - resource file for the above program
- DCKIT\DCKIT.TXT - manual for the Construction Kit
-
- MODULES\*.DKL, - a selection of control files
- MODULES\*.DMO - and external modules
- MODULES\MODULES.TXT - text file with the necessary
- information on writing your own modules
-
- SOURCE\GLOBES2.C - two source files as examples of
- SOURCE\SPOTS2.C - DarkLord modules
- SOURCE\MOD_HEAD.H - C header file for use in writing your
- own modules
- SOURCE\MATHLINK.S - file sometimes required when using the
- C maths libraries in modules
- There may also be a READ.ME text file containing last minute changes
- not recorded in this manual.
-
- DarkLord can be (and usually is) run as a desk accessory, so copy
- DARKLOR3.ACC and its resource file DARKLOR3.RSC to your boot disk or
- hard drive boot partition. With this arrangement, DarkLord will
- function but won't do very much. It will work, but all it does is
- produce a blank screen. In order to do something worthwhile, it must
- load a DarkLord control file (which all have the extension .DKL) and
- optionally an external module (modules always have the extension
- .DMO). Section 5.1 below gives details of how to load these additional
- files.
-
- You will have to reboot to load the accessory version of DarkLord.
- Alternatively, DarkLord can be run as a conventional program. To do
- this, rename DARKLOR3.ACC to DARKLOR3.PRG and run it as you would any
- other program. It is perfectly possible to have two copies of DarkLord
- running as program and accessory simultaneously.
-
- You should note that the accessory version of DarkLord will run from
- Multidesk, but the Multidesk buffer size will need to be increased and
- you will have to enable the Multidesk `Timers' option (this refers to
- version 1.82 of Multidesk - later versions may differ in this
- respect).
-
- 2.3 DarkLord control files
-
- There are two different kinds of files which DarkLord uses to produce
- the effects it does. The first is the DarkLord control file, which
- always has the extension `.DKL'. This file contains settings such as
- the delay time before activation, screen colours, etc. Very
- importantly, this file also contains the name of any external module
- which DarkLord is to run. You can have as many .DKL files as you like
- and can load any other .DKL file at any time.
-
- The second type of file is the DarkLord module file, with the
- extension `.DMO'. This is a special type of program which cannot be
- executed from the Desktop, but only from within DarkLord. To use such
- a file, there must be a corresponding .DKL file which includes the
- name of the module to be loaded - in other words, each module (.DMO
- file) must have an associated .DKL file to enable DarkLord to use it.
- If you try to load a .DMO file directly, DarkLord will tell you that
- this is not a .DKL file (which of course it isn't!).
-
- Note that an external module is not obligatory if you don't want one.
- In most cases you will want a module, but it is not essential. A .DKL
- file does not have to contain the name of a module, nor does any .DKL
- file have to be loaded at all - without a .DKL file you will get a
- simple screen blanker and nothing more, but it will still work.
-
-
- *** Important note 1 ***
-
- If DarkLord loads a .DKL file which in turn instructs it to load a
- module (.DMO) file, DarkLord will look for the module in the same
- directory as the .DKL file it has just loaded. If it can't find it
- there, it will display a message to that effect. This means that
- wherever your .DKL files are located, the .DMO module files must be in
- the same place. Different .DKL files can of course be located in
- different directories, as long as they are accompanied by the correct
- .DMO file.
-
-
- *** Important note 2 ***
-
- When it first runs, whether as a program or desk accessory, DarkLord
- will look for a file named DARKLORD.DKL in the directory from which it
- was just loaded. This allows you to set DarkLord to automatically load
- and run a .DKL file of your choice. All you have to do is rename the
- .DKL file concerned to DARKLORD.DKL, and copy it to the same directory
- as DarkLord itself. Note that this also means that any associated
-
- module file must be copied to the same place as the renamed .DKL file
- (but the module itself must not be renamed).
-
-
- All these different files may seem a little excessive - why not just
- allow DarkLord to load external modules directly? The reason is that
- in some modules the user can change various parameters so that the
- module is customised to the user's wishes. These parameters are
- included in the .DKL file, which allows the user to alter them in a
- standard way without the writer of the module having to worry about
- user interaction. A more detailed explanation is given in the manual
- for the DarkLord Construction Kit.
-
- 3. The basic operation of DarkLord
-
- 3.1 Operation
-
- Once installed DarkLord does nothing during normal use of the
- computer. However if (for a set period of time) no key is pressed, the
- mouse is not moved or a button pressed, then it comes into operation.
- What happens then depends on the commands you have included in the
- .DKL file; these are detailed below.
-
- The time required for inactivity before activation is normally 3
- minutes but this can be altered by modifying the .DKL file or by
- altering the delay time from the DarkLord Control Panel.
-
- Once the program is activated pressing a key or mouse button, or
- moving the mouse, will return control to the main program.
-
- 3.2 Displaying and removing the DarkLord Control Panel
-
- 3.2.1 Opening the Control Panel
-
- You can bring up the Control Panel in one of two ways. If you are
- running DarkLord as a desk accessory, clicking on the `DarkLord' entry
- in the first menu in the current menu bar will display the Control
- Panel inside a window. This is a conventional GEM window which can be
- moved and closed as with other windows. If you click on the window
- closer gadget the window will disappear.
-
- Important note: if you close the DarkLord window, any changes you may
- have made in the dialog box which is currently displayed will be
- accepted by DarkLord - i.e. it will be as though you had clicked on
- the `OK' button, although the `OK' button will not close the window.
-
- If DarkLord is being run as a program, click on the `Open window'
- entry in the File menu to display the Control Panel. If you click on
- the entry named `About DarkLord' in the first menu of the menu bar,
- then the Control Panel will switch to the `Information' display. As
- with the accessory version, clicking on the window closer gadget will
- remove the window, but it will not exit the program. (To exit the
- program, select the `Quit' entry from the File menu.) If you are
- running DarkLord as a program under MultiTOS or Geneva, its window
- does not have to be open; just load DarkLord and forget about it, and
- it will act just like a desk accessory on a single-tasking system,
- except that you can get access to its menu bar at any time.
-
- 3.2.2 Closing the Control Panel
-
- The control panel can be removed by:
-
- - clicking on the window closer gadget;
-
- - pressing the key combination Control-W;
-
- - if run as a program, selecting `Close window' from the File menu
- in the menu bar.
-
- 3.3 Using the Control Panel
-
-
- At the top of the panel is the DarkLord logo. Underneath the logo and
- to the left of the panel you will see a pushbutton switch with the
- word `Off' above it and `On' below it. When DarkLord is first run,
- this switch is in the down (`On') position. Clicking on the switch
- will move it into the up (`Off') position.
-
- This switch shows whether or not DarkLord is enabled (i.e. will come
- into operation after the specified period of inactivity). If the
- switch is off, DarkLord will lie dormant and can only be activated by
- turning it on again by clicking on the on/off switch.
-
- At the bottom of the window is a box which shows the name of a loaded
- external module, if there is one. If there is no loaded module, this
- box will be empty. This name is also displayed in every other dialog
- box DarkLord uses. With the exception of the main Control Panel, every
- dialog box has its main function displayed in a box at the top of the
- dialog.
-
- To the right of the on/off switch is a box containing 6 icons.
- Clicking on any of these icons brings up another dialog box allowing
- you to change certain of DarkLord's parameters. These are discussed in
- more detail below.
-
- Finally, there are two more buttons - `Activate' and `Reset'. Clicking
- on `Reset' will return all DarkLord's internal parameters to their
- basic state. Any loaded module will be removed and all other
- parameters are returned to the state they have when the program first
- runs. If you click on this button you will be asked to confirm that
- you really want to do this.
- Clicking on `Activate' sets DarkLord in motion without waiting for the
- delay time to elapse. It is important that if you click on this button
- you do not move the mouse afterwards as this will immediately cause
- DarkLord to return control to GEM (assuming that DarkLord is set to
- watch mouse movements - see below).
-
- There may also be a third button, labelled `Message...'. This is only
- present if enabled by the .DKL file. Clicking on this button gives you
- access to the message input dialog box. Not all modules can display
- messages, so this button is only present when specifically enabled.
-
- 3.4 The Control Panel icons
-
- There are 6 such icons, all of which change the display inside the
- window to another dialog box. These icons are:
-
- The Disk icon (a small floppy disk). This brings up the file
- selector allowing you to load another .DKL file. Remember that you
- cannot load .DMO module files directly, but only indirectly
- through a .DKL file.
-
- The Timer icon (an hourglass). The dialog box brought up by this
- icon allows you to change the delay time which must elapse before
- DarkLord activates.
-
- The Toolbox icon (a crossed hammer and wrench). This displays a
- dialog allowing you to set certain miscellaneous options.
-
- The Information icon (a lower case letter `i'). This brings up
- some general information regarding version number and author of
- the program, and the title and author(s) of any loaded external
- module.
-
- The Module Flags icon (a flag). This allows you to change the
- state of up to three flags or switches which are passed to a
- loaded external module by DarkLord. If there is no module loaded,
- or if are no flags associated with the module, this icon is
- disabled (greyed out).
-
- The Module Variables icon (two slider bars). This icon displays a
- dialog box allowing you to change the numeric variables passed to
- a loaded module. If there is no module loaded, or if there are no
-
- variables associated with the module, this icon is disabled
- (greyed out).
-
- Note that the appearance of each icon is a little different in ST low
- resolution or Falcon double-line screen modes due to space restraints.
-
- The use of each icon is discussed in detail below in section 5. With
- the exception of the Disk icon, clicking on each icon will bring up
- another dialog box. In each case the dialog which is displayed as a
- result of clicking on an icon will have an `OK' button. Clicking on OK
- does not close the window, but will return you to the main Control
- Panel display.
-
- Note: almost all the changes you make are accepted immediately by
- DarkLord - you don't have to click on OK to make the change register.
- For example, if you change the location of the hot spot, this takes
- effect immediately without having to return to the main control panel.
- The only exception to this is the Timer dialog, in which the delay
- time and colour rotation speed are only changed when you press Return
- (or click on the OK button).
-
- 3.5 Activating DarkLord
-
- DarkLord can be activated in one of several ways:
-
- - by waiting for the delay time to elapse;
- - by clicking on the `Activate' button in the Control Panel;
- - by moving the mouse into the `hot spot' (see section 5.3.4
- below);
- - if run as a program, by selecting the `Activate' option in the
- `Options' menu.
-
- 4. The .DKL file.
-
- These files are the keys to making DarkLord behave as you require.
- Earlier versions of DarkLord used simple ASCII files for this purpose,
- but in this version the file is created with a separate program, the
- DarkLord Construction Kit. Details of how to use the kit are contained
- in a separate manual, but below is a complete list of all the
- parameters you can control with such a file:
-
- 4.1 General options:
-
- - the time to wait without activity before DarkLord activates;
- - whether or not DarkLord is to rotate screen colours (note: this
- only applies if no external module is loaded);
- - the speed of colour rotation, if enabled;
- - enable the module debug facility;
- - enable the user to enter a message for a module to display on
- screen.
-
- 4.2 The colour palette:
-
- - up to 256 colours.
-
- 4.3 Module options:
-
- - the name of an external module to load and run;
- - up to 3 numeric variables associated with the module;
- - up to 3 flags (or switches) each with up to 6 options which are
- associated with the module;
- - the module's title and author(s).
-
- These parameters are discussed in detail in the manual for the
- DarkLord Construction Kit which is included with this package.
-
- The .DKL file should be thought of as a general control file for
- DarkLord. It does not contain any program code, but does include
- parameters which enable you to alter the behaviour of DarkLord.
-
- 5. Using the Control Panel icons
-
- 5.1 The Disk icon
-
- Clicking on this icon will display the file selector, with which you
- can choose another control file (with the extension .DKL) to load.
- DarkLord will initially show the directory from which it itself was
- loaded, but if you change the directory DarkLord will remember and
- show the new directory the next time you use this icon.
-
- If DarkLord cannot open the file you wish to load, then any existing
- parameters or loaded module will be retained. If the file you open is
- not a .DKL file, DarkLord will inform you of this, but your existing
- module will again be left intact.
-
- However, if DarkLord fails to load the external module specified in
- the .DKL file, it will reset all its internal parameters to its
- default state. This is because a failure to load a module could leave
- the system in a potentially unstable state, so this should prevent a
- load failure from causing a system crash. DarkLord will also reset
- itself if the module is successfully loaded but cannot run in the
- current screen resolution.
-
- ** Notes **
-
- When DarkLord loads a .DKL file which in turn instructs it to load
- a module, it loads the module immediately after the .DKL file has
- loaded.
-
- Some modules may not function in the screen resolution you are
- currently in. If this is the case, DarkLord will display a message
- after the module has loaded, and the module will not activate
- while you remain in that resolution. In addition, DarkLord will
- reset all its internal parameters to their default state.
-
- Some modules may not work in Falcon True Colour mode, in whatever
- resolution. Again, a message will be displayed if this is the
- case.
-
- When it is first run, DarkLord will look for a default .DKL file
- called DARKLORD.DKL in the same directory from which DarkLord
- itself has been loaded. This default file is entirely optional and
- need not be present if you don't want it. Any .DKL file can be
- used, just rename it to DARKLORD.DKL and copy it into DarkLord's
- directory. Do not rename the associated module, if there is one.
-
- Changing the screen resolution forces GEM to reload all desk
- accessories. This means that the existing .DKL file, and any
- loaded module, are removed from memory. When the computer enters
- the new screen resolution you will find that DarkLord is therefore
- returned to its default state.
-
- 5.2 The Timer icon
-
- There are two boxes on the dialog which is displayed when you click on
- this icon. At the top is a box allowing you to alter the time which
- must elapse without activity (see the section on the `Toolbox' for
- more information on monitoring activity) before screen saving cuts in.
- This is normally set to 3 minutes, but can range from 1 to 99 minutes.
- You can alter the time by editing the value in the usual way.
-
- What happens if you enter a time of zero minutes? If you do this when
- DarkLord is running as a desk accessory, it will ignore this value and
- use the default 3 minute delay instead. When running as a program, a
- zero delay is accepted as valid, so that DarkLord will carry out its
- screen saving activity as soon as it is run and has initialised.
-
- Below the delay time is a box marked `Clear screen on activation'. If
- this box is selected, DarkLord will clear the screen to colour 0 in
- the loaded palette (if any) or to colour 0 in the current palette
- (normally white) if a palette wasn't loaded as part of a .DKL file. If
- your module requires a black background therefore, you must set colour
- 0 to black from the Construction Kit, and save at least two colours
- with the .DKL file. If you don't want the screen to be cleared, click
- on this box to deselect it. Some external modules require the screen
- to be cleared, while for others the opposite is true.
-
- The lower box in this dialog concerns screen colour rotation. This
- function is applicable ONLY IF there is no loaded external module. If
- a module is loaded, it is assumed that it will take care of any
- required colour cycling.
-
- If there is no loaded module, and colour rotation is enabled, DarkLord
- will change the screen colours by rotating the colours in the palette.
- For example, if you have a 16-colour palette, then when colour
- rotation occurs the current foreground colour (colour 1) will become
- the background colour (colour 0) while the current background colour
- becomes colour 15, the last one in the palette. All the other colours
- in the palette will also be moved by one position. After 16 such
- rotations, the palette will of course be as it was before rotation
- started.
-
- As with the delay time, you can change the frequency of colour
- rotation. By default the colours will be rotated every 30 seconds, but
- this can range from 10-999 seconds. If you enter a time of zero
- seconds, DarkLord will always change this to 10 seconds. Colour
- rotation can be switched off by deselecting the box marked `Rotate
- colour palette'.
-
- 5.3 The Toolbox icon
-
- 5.3.1 Watching for activity of the mouse and/or keyboard
-
- In the upper part of this dialog is a box entitled `Watch for activity
- of:'. DarkLord will activate its screen-saving function if no activity
- of the mouse and/or keyboard has occurred within the specified time
- period. (Mouse activity includes mouse movements and button presses.)
- In addition, once activated DarkLord will watch for activity and
- return control to GEM if any activity occurs. If keyboard monitoring
- is enabled, DarkLord will respond to presses of the Shift, Alternate,
- or Control keys on their own (i.e. without the need to use them in
- conjunction with some other key), and the cursor keys, as well as the
- usual alphanumeric, function and special keys.
-
- By default DarkLord watches both the keyboard and the mouse, but you
- can opt to only watch the mouse or only watch the keyboard. You cannot
- opt to disable both mouse and keyboard monitoring, as once DarkLord
- had activated you would have no way of regaining control of the
- system! It is best to leave DarkLord watching both mouse and keyboard
- unless there is a good reason to switch one of these off. One such
- reason would be if you are using a program which has a `dongle'
- plugged into the mouse or joystick port. These dongles sometimes
- generate a constant stream of mouse or keyboard interrupts which would
- mean that DarkLord would never come into operation, since it would
- detect apparent constant activity of the mouse or keyboard. If this
- happens, try turning off mouse or keyboard monitoring.
-
- Technical note: because of the way the mouse/keyboard interrupt system
- works on the Atari machines, turning off mouse monitoring will force
- DarkLord to use a different, less efficient way of monitoring the
- keyboard, so that it will no longer respond to presses of the Shift,
- Alternate, or Control keys on their own.
-
- To alter mouse or keyboard monitoring, click on the box which by
- default reads `Keyboard & mouse'. This will bring up a small popup
- menu which gives you the three options of watching the mouse only, the
- keyboard only, or both mouse and keyboard.
-
- 5.3.2 Monitoring the modem or midi ports
-
- DarkLord can also monitor the modem or midi ports for input/output
- activity. This is provided so that DarkLord will not cut in while
- input or output through these ports is occurring, if you so wish. By
- default DarkLord does not monitor these ports but you can choose to
- monitor either or both by clicking on the respective buttons.
-
- 5.3.3 Monitoring disk activity
-
- There is no simple, reliable method of watching for disk input/output
- activity on the Atari machines. DarkLord will do the best it can and
- look for disk activity at regular intervals. It will not activate if
- the box labelled `Disk' is selected and activity is detected.
-
- 5.3.4 The activation `hot spot'
-
- DarkLord provides the facility for the user to activate it by moving
- the mouse into a corner of the screen. At the lower left of the
- toolbox dialog is a box with four smaller boxes, one at each corner.
- Click on one of these to enable the hot spot. When you move the mouse
- into the chosen corner DarkLord will activate (this may take a second
- or two to occur). The hot spot is one system character font cell in
- size (in ST high resolution this is 8*16 pixels).
-
- If you don't want a hot spot, you can turn it off by clicking on the
- button labelled `None'.
-
- 5.3.5 The debug facility
-
- If you are writing your own external modules DarkLord provides a
- facility to stop execution just before your module is run, in order to
- aid in debugging. To enable this facility, you must first enable
- debugging using the DarkLord Construction Kit. If you do this, a
- button will appear in the Toolbox which reads `Debug'. If in turn this
- button is highlighted, then DarkLord will stop with an `illegal'
- exception just before it executes a loaded module. If you are running
- DarkLord from a debugger such as HiSoft's Mon or the ST Club's X-
- Debug, this exception will return control to the debugger (see the
- manual for the Construction Kit for more detail).
-
- This button should never appear in normal use, since it is provided
- for the use of module programmers. If it was present all the time, a
- user could select it without being aware of its potential, which would
- cause a system crash when DarkLord tried to execute a module. For this
- reason the Debug button is only provided if specifically requested via
- the Construction Kit.
-
- 5.3.6 The save facility
-
- This button, if it is enabled, allows you to save certain parameters
- to the .DKL file currently loaded. If there is no .DKL file currently
- loaded, the Save button is not available.
-
- The following parameters are saved:
-
- - delay time;
- - screen clear flag;
- - colour rotate time;
- - colour rotate flag;
- - activities to watch (mouse, keyboard, modem, etc);
- - hot spot position;
- - current flag settings;
- - current variable settings.
-
- Note that the save function takes place immediately you click on this
- button, there is no request for confirmation.
-
- 5.4 The Information icon
-
- Selecting this icon will bring up a dialog box showing the version
- number of DarkLord and some copyright information. If there is a
- loaded external module, its title and the name(s) of its author(s)
- will be displayed in a separate box.
-
- 5.5 The Flag icon
-
- With some external modules, the user has the ability to change certain
- parameters of the module from the DarkLord Control Panel. These
- parameters consist of three numeric variables, and three switches (or
- flags, hence the name of this box). There may be from 1 to 3 flags
- displayed in this box; if the module has no user-changeable flags,
- this icon will be disabled.
-
- Each flag consists of a switch which can have up to 6 different
- states; only one state can be operative for each flag at any one time.
- Clicking on a flag box will bring up a popup menu which may have up to
- 6 entries, depending on how many states are used by that flag. The
- currently selected state will be ticked. You can select any entry with
- the mouse, or click somewhere away from the menu to retain the
- existing state.
-
- As an example, load the file MESSAGE.DKL. This will load an external
- module which displays a user's message on the screen. If you click on
- the flag icon, you will see that there is one flag, which lets you
- choose the effect to be applied to the text of the message. There are
- 6 possible options, Normal, Thickened, Light, Italic, Underlined and
- Outlined. You can choose any one of these effects by clicking on the
- appropriate menu entry.
-
- Warning: if the programmer of a module has used flags or variables in
- the module, you MUST NOT change the flags or their values by using the
- DarkLord Construction Kit. If you do the module will not work
- correctly. (It *probably* won't crash, but will not work as expected.)
-
- 5.6 The Variables icon
-
- As with the flags icon, this brings up another dialog box which allows
- you to change the value of any numeric variables associated with an
- external module. Each variable is displayed as a slider, with a small
- box to the right showing the current value of the variable. To change
- the value, click and hold down the left mouse button while the mouse
- is over the slider, and drag it to the left or right. Dragging it all
- the way to the left will reduce it to its minimum possible value (set
- by the programmer) while dragging it over to the extreme right will
- set its maximum possible value.
-
- The file MESSAGE.DKL has one variable, which allows you to alter the
- size of the text to be displayed on screen. This ranges from 10 to 72
- pixels high (although not all possible values are allowed by GEM - if
- you choose a value which is not recognised, GEM will set the nearest
- smaller available value). Do not attempt to change these values using
- the Construction Kit!
-
- 5.7 The message input facility
-
- One use of an external module is to display a message on the screen
- when the screen saver cuts in (for example, `Out to lunch' or `See you
- in the pub at 5.30') or something similar. A module has to be
- specifically written to display such messages, so the ability to input
- a message is not normally present, and should only be enabled (using
- the Construction Kit) if a module can handle such messages.
-
- If this facility is enabled, a button entitled `Message...' will be
- displayed in the main Control Panel. Clicking on this button will
- display another dialog box with three lines of editable text. You can
- type in any message for the module to display in these lines, and then
- press Return (or click on OK) to return to the main Control Panel.
-
- This dialog also allows you to enter the name of a GDOS font which the
- module will use to display your message. Not all message-displaying
- modules can make use of this - see the text file for the module. A
- module named SHOWTEXT.DMO is supplied with this package, which makes
- use of SpeedoGDOS and its fonts for this purpose.
-
- 6. Technical notes
-
- 6.1 Compatibility
-
- Since DarkLord is a desk accessory, it will only work with those
- programs,fortunately the majority, which use the AES events system.
- These include all those which display a true GEM menu bar, and some of
- those programs which are essentially one large dialog box. TOS-type
- programs effectively disable accessories while they run. DarkLord has
- been run with the following programs without problems:
-
- Neodesk 1st Word Plus Fontkit Plus 3 Lattice C 5.6
- Devpac 3 K-RSC Superbase Pro Diamond Back
- K-Spread 4 Calligrapher ORCS resource editor
- Timeworks DTP Tempus 2 Knife ST Touch Up
- Hyperdraw K-Graph 3 Arcshell 2.6a Fastcopy Pro
- Connect CixComm Cixread 3 (GEM version)
- Everest Kandinsky Migraph OCR True Paint
-
- (and others!)
-
- It does not work with (but does not crash):
-
- Uniterm (but does work on the `Help' screen, when a GEM menu is used);
- Protext (unless you switch to the Desk Accessory menu);
- Cixread 3 (non-GEM version)
- Degas Elite (works on the main menu screen, does not work on the
- drawing screens)
-
- It coexists with a variety of desk accessories and auto-folder
- programs, of which the only ones tested so far are:
-
- Accessories:
-
- Multidesk G Plus accessory NeoControl accessory
- Image Copy 2 Rat Trap X-Control v1.31
-
- Auto folder:
-
- G Plus (auto folder program) Hramdsk (HiSoft ram disk)
- UIS III NVDI Foldrxxx.prg
- Fast print SpeedoGDOS Cachexxx.prg
- MiNT/MultiTOS (without memory protection)
- Geneva multitasking operating system
-
- For all programs, when dialog boxes are shown on screen, DarkLord may
- or may not activate when expected - this depends on how the dialog box
- is programmed. If the dialog box appears in a GEM window, DarkLord
- will always work as expected. With `dialogware' programs, DarkLord may
- cut in but GEM may not restore the screen properly when the module
- exits.
-
- 6.2 Brief technical details
-
- DarkLord produces its effects in two ways. It installs a vertical
- blank interrupt (VBI) routine which takes care of the colour cycling
- and delay timing. All other effects are produced by external modules.
- The program hijacks several system vectors for its own use, these are:
-
- - the ikbdsys, mousevec, and midivec interrupt vectors to sense
- keypresses, mouse movements/button clicks, and MIDI activity;
-
- - the RS232 character receive interrupt for both the MFP chip used
- on the ST and the Falcon's SCC chip
-
- - one vertical blank interrupt slot;
-
- - the BIOS (trap #13) vector;
-
- - the GEMDOS (trap #1) vector.
-
- DarkLord conforms to the XBRA protocol for accessories which alter
- system vectors and it obeys the `11 commandments' suggested by
- Codehead software for altering vectors. All patched vectors call the
- original routine on exit. It restores the original vectors on a change
- in resolution and therefore should not crash in these circumstances.
- This has been tested extensively on a Falcon without problems.
-
-
- All desk accessories using the GEM event system are liable to slow the
- system down a little. Tests using GEMBench on a Falcon in 16 colour
- mode, 640*480 screen, shows that DarkLord slows the system down by
- about 1%, an acceptable trade off I think.
-
- This version of DarkLord is bug-free as far as I have been able to
- test it, but it may have problems or incompatibilities of which I am
- unaware. I would be pleased to hear of any problems and bugs
- (hopefully there won't be too many of those!) and particularly ideas
- for future developments.
-
- Finally, I would like to thank beta-testers, notably Ofir Gal, David
- Billington, and Joe Connor for their comments and input.
-
- I can be contacted by email on the CIX conference system
- (spedler@cix.compulink.co.uk) or write to:
-
- Steve Pedler, 12 Rudby Close, Gosforth, Newcastle upon Tyne, NE3 5JF,
- England
-